//
//  main.m
//  03-NSStringAndNSValue
//
//  Created by dllo on 16/7/6.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
   //1.查看头文件或者api。他门的初始化／构造器，基本上都放在一起
    //2. 当我们拿到一个新的类，你需要去查看这个类的初始化或者构造器
    //3.
    //初始化
    NSString *string = [[NSString alloc]init];
    //便利构造器（string）
    NSString *str = [NSString string];
    //获取字符串长度length
    NSUInteger length = string.length;
    //获取字符串中的字符character
//    [string characterAtIndex:0];
    //字符串是否相等equal
    [str isEqualToString:string];
    // 获取子字符串sub
//    [str substringFromIndex:1];
    //拼接字符串append
    [str stringByAppendingString:@"fsdfsdfds" ];
    [str stringByAppendingFormat:@"fsfsf%@",str];
    NSString *pathString = @"/users/local/bin";
    //如果字符串方法带有返回值，操作的不是原串，而是生成的新字符串
    //拼路径
    pathString = [pathString stringByAppendingPathComponent:@"name.plist"];
    NSLog(@"%@",pathString);
    //替换字符串
    
    //字符串对象转化为int类型
    NSInteger number = [pathString integerValue];
    NSLog(@"%ld",number);
    double doubleValue = [pathString doubleValue];
    NSLog(@"%lf",doubleValue);
    [pathString integerValue];
    [pathString doubleValue];
    [pathString floatValue];
    [pathString boolValue];
    //字符串大写
    [string uppercaseString];
    [string lowercaseString];
    //NSNumber
    int age = 10;
    //number类型初始化方法
    NSNumber *ageNum = [[NSNumber alloc] initWithInt:age];
    //number类型构造器
    NSNumber *ageNum1 = [NSNumber numberWithInt:age];
     //number类型字面量@()
    NSNumber *ageNum2 = @(age);
   
    NSString *str2 = @"330184198501184115";
    
    //// 1.330184198501184115 处理字符串, 取出他的出生年月, 并计算出年龄(不用具体)
    // 输出格式 1985年01月18日 年龄:31岁
    NSRange year = NSMakeRange(6, 4);
    NSRange month = NSMakeRange(10, 2);
    NSRange day = NSMakeRange(12, 2);
    NSString  *year1 = [str2 substringWithRange:year];
    NSString  *month1 = [str2 substringWithRange:month];
    NSString  *day1 = [str2 substringWithRange:day];
   
    NSLog(@"%@年 %@月 %@日",year1,month1,day1);
    
    return 0;
}
